package com.ruoyi.carbon.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.carbon.mapper.WmsMaterialInfoMapper;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 出库申请明细对象 wms_out_warehouse_apply_detail
 * 
 * @author ruoyi
 * @date 2024-11-22
 */
public class WmsOutWarehouseApplyDetail extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 编号 */
    private Long id;

    /** 申请单编号 */
    @Excel(name = "申请单编号")
    private Long applyId;

    /** 物料档案编号 */
    @Excel(name = "物料档案编号")
    private Long materialId;

    private String warehouseName;
    private String whLocationName;
    private String whRegionName;
    private WmsMaterialInfo materialInfo;
    /** 仓库编号 */
    @Excel(name = "仓库编号")
    private Long warehouseId;

    /** 库位编号 */
    @Excel(name = "库位编号")
    private Long whLocationId;

    /** 库区编号 */
    @Excel(name = "库区编号")
    private Long whRegionId;

    /** 发货数量 */
    @Excel(name = "发货数量")
    private Long outQuantity;

    /** 序列号 */
    @Excel(name = "序列号")
    private String serialNo;

    /** 生产批号 */
    @Excel(name = "生产批号")
    private String batchNo;

    /** 生产日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "生产日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date productDate;

    /** 生产单位 */
    @Excel(name = "生产单位")
    private String manufacturer;

    public WmsOutWarehouseApplyDetail() {
    }

    public WmsOutWarehouseApplyDetail(long serialVersionUID, Long id, Long applyId, Long materialId, String warehouseName, String whLocationName, String whRegionName, WmsMaterialInfo materialInfo, Long warehouseId, Long whLocationId, Long whRegionId, Long outQuantity, String serialNo, String batchNo, Date productDate, String manufacturer) {

        this.id = id;
        this.applyId = applyId;
        this.materialId = materialId;
        this.warehouseName = warehouseName;
        this.whLocationName = whLocationName;
        this.whRegionName = whRegionName;
        this.materialInfo = materialInfo;
        this.warehouseId = warehouseId;
        this.whLocationId = whLocationId;
        this.whRegionId = whRegionId;
        this.outQuantity = outQuantity;
        this.serialNo = serialNo;
        this.batchNo = batchNo;
        this.productDate = productDate;
        this.manufacturer = manufacturer;
    }

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setApplyId(Long applyId) 
    {
        this.applyId = applyId;
    }

    public Long getApplyId() 
    {
        return applyId;
    }
    public void setMaterialId(Long materialId) 
    {
        this.materialId = materialId;
    }

    public Long getMaterialId() 
    {
        return materialId;
    }
    public void setWarehouseId(Long warehouseId) 
    {
        this.warehouseId = warehouseId;
    }

    public Long getWarehouseId() 
    {
        return warehouseId;
    }
    public void setWhLocationId(Long whLocationId) 
    {
        this.whLocationId = whLocationId;
    }

    public Long getWhLocationId() 
    {
        return whLocationId;
    }
    public void setWhRegionId(Long whRegionId) 
    {
        this.whRegionId = whRegionId;
    }

    public Long getWhRegionId() 
    {
        return whRegionId;
    }
    public void setOutQuantity(Long outQuantity) 
    {
        this.outQuantity = outQuantity;
    }

    public Long getOutQuantity() 
    {
        return outQuantity;
    }
    public void setSerialNo(String serialNo) 
    {
        this.serialNo = serialNo;
    }

    public String getSerialNo() 
    {
        return serialNo;
    }
    public void setBatchNo(String batchNo) 
    {
        this.batchNo = batchNo;
    }

    public String getBatchNo() 
    {
        return batchNo;
    }
    public void setProductDate(Date productDate) 
    {
        this.productDate = productDate;
    }

    public Date getProductDate() 
    {
        return productDate;
    }
    public void setManufacturer(String manufacturer) 
    {
        this.manufacturer = manufacturer;
    }

    public String getManufacturer() 
    {
        return manufacturer;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("applyId", getApplyId())
            .append("materialId", getMaterialId())
            .append("warehouseId", getWarehouseId())
            .append("whLocationId", getWhLocationId())
            .append("whRegionId", getWhRegionId())
            .append("outQuantity", getOutQuantity())
            .append("serialNo", getSerialNo())
            .append("batchNo", getBatchNo())
            .append("productDate", getProductDate())
            .append("manufacturer", getManufacturer())
            .toString();
    }

    /**
     * 获取
     * @return warehouseName
     */
    public String getWarehouseName() {
        return warehouseName;
    }

    /**
     * 设置
     * @param warehouseName
     */
    public void setWarehouseName(String warehouseName) {
        this.warehouseName = warehouseName;
    }

    /**
     * 获取
     * @return whLocationName
     */
    public String getWhLocationName() {
        return whLocationName;
    }

    /**
     * 设置
     * @param whLocationName
     */
    public void setWhLocationName(String whLocationName) {
        this.whLocationName = whLocationName;
    }

    /**
     * 获取
     * @return whRegionName
     */
    public String getWhRegionName() {
        return whRegionName;
    }

    /**
     * 设置
     * @param whRegionName
     */
    public void setWhRegionName(String whRegionName) {
        this.whRegionName = whRegionName;
    }

    /**
     * 获取
     * @return materialInfo
     */
    public WmsMaterialInfo getMaterialInfo() {
        return materialInfo;
    }

    /**
     * 设置
     * @param materialInfo
     */
    public void setMaterialInfo(WmsMaterialInfo materialInfo) {
        this.materialInfo = materialInfo;
    }
}
